home *** CD-ROM | disk | FTP | other *** search
-
- file_include('script/share/prog_border.lua')
-
- -- -----------------------------------------------------------------
- -- Init
- -- -----------------------------------------------------------------
- local function prog_init()
- initModels()
- sound_playMusic("music/rybky06.ogg")
- local pokus = getRestartCount()
-
- --NOTE: final level
- small:setGoal("goal_alive")
- big:setGoal("goal_alive")
- mapous:setGoal("goal_out")
-
- -- -------------------------------------------------------------
- local function prog_init_room()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- room.poh = 0
- room.obec = 1000 + random(3000)
- room.utb = 0
-
- return function()
- pom2 = 0
- if no_dialog() and isReady(small) and isReady(big) then
- if stdBorderReport() then
- addv(10, "map-v-ukol")
- elseif game_getCycles() == 10 + pokus then
- pom2 = 1
- elseif room.poh == 0 and mapous.X ~= mapous.XStart then
- pom2 = 6
- room.poh = 1
- elseif room.utb == 0 and isIn(mapous.X, {1, 2, 28}) then
- room.utb = 1
- pom2 = 7
- elseif room.obec > 0 then
- room.obec = room.obec - 1
- else
- room.obec = 1000 + random(1000 + math.floor(game_getCycles() / 5))
- pom2 = random(4) + 2
- end
- end
- switch(pom2){
- [1] = function()
- if random(3) > 0 then
- addv(7, "map-v-mapa")
- else
- addm(7, "map-m-mapa")
- end
- if pokus < 4 or random(100) < 60 then
- addm(7, "map-m-ukol")
- addv(7, "map-v-jasne")
- addm(7, "map-m-neplacej")
- end
- end,
- [2] = function()
- addv(7, "map-v-cojetam")
- addv(7, "map-v-poklady")
- addm(7, "map-m-uvidime")
- end,
- [3] = function()
- addm(7, "map-m-sneci")
- planDialogSet(8, "map-x-hlemyzdi", 111, sneci, "mluvi")
- end,
- [4] = function()
- addv(8, "map-v-oci")
- end,
- [5] = function()
- addv(8, "map-v-restart")
- addm(8, "map-m-pravidla")
- end,
- [6] = function()
- addm(7, "map-m-pohnout")
- addv(7, "map-v-dal")
- end,
- [7] = function()
- addm(7, "map-m-uz")
- end,
- }
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_mapous()
- return function()
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_voko1()
- local eyes = {voko1, voko2}
-
- return function()
- for key, eye in pairs(eyes) do
- if eye.anim == "" then
- switch(random(7)){
- [0] = function()
- setanim(eye, "d?10-99a1d?2-3a2d?2-3a1d?2-3a2d?2-3a1d?2-3a2d?2-3a1d?2-3a2d?2-3a0")
- end,
- [1] = function()
- setanim(eye, "d?10-99a3d?2-3a4d?2-3a3d?2-3a4d?2-3a3d?2-3a4d?2-3a3d?2-3a4d?2-3a0")
- end,
- [2] = function()
- setanim(eye, "d?10-99a?1-4d?10-30a0")
- end,
- [3] = function()
- setanim(eye, "d?10-99a?1-4d?10-30a0")
- end,
- [4] = function()
- setanim(eye, "d?10-99a3a1a4a1a3a2a4a1a3a1a4a1a3a1a4a1a0")
- end,
- [5] = function()
- setanim(eye, "d?10-99a3a1a4a1a3a2a4a1a3a1a4a1a3a1a4a1a0")
- end,
- [6] = function()
- setanim(eye, "d?10-99a?0-4d?2-8a?0-4d?2-8a?0-4d?2-8a?0-4d?2-8a0")
- end,
- }
- end
- goanim(eye)
- eye:updateAnim()
- end
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_kr1()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- setanim(kr1, "d?1-50a0a1a2a3d1a3a2a1a0R")
-
- return function()
- goanim(kr1)
- kr1:updateAnim()
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_kr2()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- setanim(kr2, "d?1-50a0a1a2a3d1a3a2a1a0R")
-
- return function()
- goanim(kr2)
- kr2:updateAnim()
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_sneci()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- sneci.mluvi = 0
- local snails = {}
- for i = 0, 8 do
- snails[i] = getModelsTable()[sneci.index + i]
- end
-
- return function()
- for key, snail in pairs(snails) do
- if sneci.mluvi ~= 0 or snail.dir ~= dir_no then
- snail.afaze = 2
- else
- switch(snail.afaze){
- [0] = function()
- if random(100) == 1 then
- snail.afaze = 1
- end
- end,
- [1] = function()
- switch(random(6)){
- [1] = function()
- snail.afaze = 3
- end,
- [2] = function()
- snail.afaze = 2
- end,
- }
- end,
- [2] = function()
- if random(10) == 1 then
- snail.afaze = 1
- end
- end,
- [3] = function()
- if random(4) == 1 then
- snail.afaze = 0
- end
- end,
- }
- end
- snail:updateAnim()
- end
- end
- end
-
- -- --------------------
- local update_table = {}
- local subinit
- subinit = prog_init_room()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_mapous()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_voko1()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_kr1()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_kr2()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_sneci()
- if subinit then
- table.insert(update_table, subinit)
- end
- return update_table
- end
- local update_table = prog_init()
-
-
- -- -----------------------------------------------------------------
- -- Update
- -- -----------------------------------------------------------------
- function prog_update()
- for key, subupdate in pairs(update_table) do
- subupdate()
- end
- end
-
-